home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="utf-8" ?>
- <!DOCTYPE background PUBLIC "-//Apple, Inc.//DTD background V 2.0//EN" "" >
- <background>
- <id>2725</id>
- <filler1>0</filler1>
- <bitmap>BMAP_3199.pbm</bitmap>
- <cantDelete> <true /> </cantDelete>
- <showPict> <true /> </showPict>
- <dontSearch> <false /> </dontSearch>
- <link rel="stylesheet" type="text/css" href="stylesheet_6393.css" />
- <part>
- <id>1</id>
- <type>button</type>
- <visible> <true /> </visible>
- <reserved5> 0 </reserved5>
- <reserved4> 0 </reserved4>
- <reserved3> 0 </reserved3>
- <reserved2> 0 </reserved2>
- <reserved1> 0 </reserved1>
- <enabled> <true /> </enabled>
- <rect>
- <left>111</left>
- <top>169</top>
- <right>228</right>
- <bottom>309</bottom>
- </rect>
- <style>transparent</style>
- <showName> <false /> </showName>
- <highlight> <false /> </highlight>
- <autoHighlight> <false /> </autoHighlight>
- <sharedHighlight> <true /> </sharedHighlight>
- <family>0</family>
- <titleWidth>0</titleWidth>
- <icon>0</icon>
- <textAlign>center</textAlign>
- <font>Chicago</font>
- <textSize>12</textSize>
- <textStyle>plain</textStyle>
- <name>Exam</name>
- <script>on mouseDown
- ask "Please enter your name."
- put it into field "user" of card report
- -- ΓÇóΓÇóΓÇó change unlimited to # minutes to put a time limit on test
- -- be sure to change background of questions and below also.
- answer "You have unlimited minutes to take this test" with "OK"
- end mouseDown
-
- on mouseUp
- global time1,score,check2,ok,questlist
- set the cursor to 4
- put empty into ok
- put empty into score
- put empty into check2
- put empty into field QMissed of card report
- get the long time
- put it into field "Start" of Card "Report"
- convert it to seconds
- -- ΓÇóΓÇóΓÇó change 30 in next line to # of minutes desired for time limit
- add 30*60 to it
- put it into time1
- -- put questlist into message -- for debug only
- visual effect dissolve to black
- visual effect dissolve
- -- go card "#1" -- for debug only
- get item 1 of questlist
- go card it
- end mouseUp
-
-
-
-
- </script>
- </part>
- <part>
- <id>6</id>
- <type>button</type>
- <visible> <true /> </visible>
- <reserved5> 0 </reserved5>
- <reserved4> 0 </reserved4>
- <reserved3> 0 </reserved3>
- <reserved2> 0 </reserved2>
- <reserved1> 0 </reserved1>
- <enabled> <true /> </enabled>
- <rect>
- <left>9</left>
- <top>13</top>
- <right>55</right>
- <bottom>45</bottom>
- </rect>
- <style>default</style>
- <showName> <true /> </showName>
- <highlight> <false /> </highlight>
- <autoHighlight> <false /> </autoHighlight>
- <sharedHighlight> <false /> </sharedHighlight>
- <family>0</family>
- <titleWidth>0</titleWidth>
- <icon>0</icon>
- <textAlign>center</textAlign>
- <font>Times</font>
- <textSize>12</textSize>
- <textStyle>plain</textStyle>
- <name>QUIT</name>
- <script>on mouseUp
- doMenu "Quit HyperCard"
- end mouseUp</script>
- </part>
- <name>intro</name>
- <script>on buildList -- ΓÇóΓÇóΓÇó rename to buildList1 if using sequential questions
- -- or to buildList if using randomly-generated questions
- global questlist,rightone,lockkey,questans,questkey
- global sky1, sky2, sky3, sky4, sky5, sky6 -- used for saved ans key
- -- initialization
- set the cursor to 4
- -- ΓÇóΓÇóΓÇóquestgrp contains the number of questions in each question group
- -- and is used to generate random questions, one from each group.
- -- Note that the question groups MUST BE sequential in order for this
- -- to work. That is, group 1 must be the first 10 questions, group 2
- -- must be the next 14 questions, and so on.
- put "11,11,11,11,11,18,11,12,11,11," into questgrp
- put "11,15,11,11,16,11,11,11,14,11," after questgrp
- put "11,11,11,11,11" after questgrp
- -- ΓÇóΓÇóΓÇó The number of commas in questans and questkey must be equal to
- -- number of questions in each test minus one. For example, for a
- -- 30-question test, there are 29 commas.
- put ",,,,,,,,,,,,,,,,,,,,,,,," into questans
- put ",,,,,,,,,,,,,,,,,,,,,,,," into questkey
- put empty into questlist
- put 0 into startgroup
- put empty into sky1
- put empty into sky2
- put empty into sky3
- put empty into sky4
- put empty into sky5
- put empty into sky6
- set lockscreen to true
- -- generate the questions from subgroups randomly
- repeat with i = 1 to number of items of questgrp
- put startgroup into thisquest
- add the random of item i of questgrp to thisquest
- put questlist & "#" & thisquest & "," into questlist
- add item i of questgrp to startgroup
- end repeat
- delete last character of questlist
- -- ΓÇóΓÇóΓÇó generate the answer key for these questions. this currently
- -- only handles up to first 51 questions.
- repeat with i = 1 to number of items of questlist
- if i > 51 then exit repeat
- put item i of questlist into thisquest
- go to card thisquest
- -- ••• You can put the card # or the subelement # or question #¬
- -- as question #in key
- put "#" & i into x -- question # option
- -- put the short name of this card into x -- card # option
- -- put first word of field "Q1" into x -- subelement # option
- put first word of field "Q1" into y -- used for answer key
- if i < 18 then
- put sky1&x&"("&y&")"&return into sky1
- put sky2&rightone&return into sky2
- else if i < 35 then
- put sky3&x&"("&y&")"&return into sky3
- put sky4&rightone&return into sky4
- else
- put sky5&x&"("&y&")"&return into sky5
- put sky6&rightone&return into sky6
- end if
- end repeat
- go to card savedscores
- put sky1 into field key1
- put sky2 into field key2
- put sky3 into field key3
- put sky4 into field key4
- put sky5 into field key5
- put sky6 into field key6
- -- prevent buildList from being called again immediately
- put true into lockkey
- go to first card
- set lockscreen to false
- end buildList
-
- on buildList1 -- ΓÇóΓÇóΓÇó rename to buildList for sequential questions or to
- -- buildList1 for randomly-generated questions
- global questlist,rightone,lockkey,questans,questkey
- global sky1, sky2, sky3, sky4, sky5, sky6 -- used for saved ans key
- -- initialization
- set the cursor to 4
- -- ΓÇóΓÇóΓÇó be sure that the group number of each question card matches the
- -- question number. For example, question #1 is group 1, question
- -- #2 is group 2, and so on.
- put empty into questlist
- put empty into questans
- put empty into questkey
- put empty into sky1
- put empty into sky2
- put empty into sky3
- put empty into sky4
- put empty into sky5
- put empty into sky6
- set lockscreen to true
- repeat with i = 1 to number of cards of bkgnd Test
- put "#" & i & "," after questlist
- put "," after questans
- put "," after questkey
- end repeat
- delete last character of questlist
- delete last character of questans
- delete last character of questkey
- -- ΓÇóΓÇóΓÇó generate the answer key for these questions. This currently
- -- only works for first 32 questions
- repeat with i = 1 to number of items of questlist
- if i > 51 then exit repeat
- put item i of questlist into thisquest
- go to card thisquest
- -- ••• You can put the card # or the subelement # or question # ¬
- -- as question #in key
- -- put "#" & i into x -- question # option
- put the short name of this card into x -- card # option
- -- put first word of field "Q1" into x -- subelement # option
- put first word of field "Q1" into y -- used for answer key
- if i < 18 then
- put sky1&x&"("&y&")"&return into sky1
- put sky2&rightone&return into sky2
- else if i < 35 then
- put sky3&x&"("&y&")"&return into sky3
- put sky4&rightone&return into sky4
- else
- put sky5&x&"("&y&")"&return into sky5
- put sky6&rightone&return into sky6
- end if
- end repeat
- go to card savedscores
- put sky1 into field key1
- put sky2 into field key2
- put sky3 into field key3
- put sky4 into field key4
- put sky5 into field key5
- put sky6 into field key6
- -- prevent buildList from being called again immediately
- put true into lockkey
- go to first card
- set lockscreen to false
- end buildList1
- </script>
- </background>
-